<template>
  <div class="" />
</template>

<script>
export default {
  name: 'MyComponent',
  props: { },
  data () {
    return { }
  },
  computed: { },
  created () { },
  mounted () { },
  methods: {
    /*
      Axios的特点：1.Axios是一个基于promise的HTTP库，支持promise所以API，2.他可以拦截请求和响应。3它可以转换请求数据和响应数据，并对响应回来的内容自动转换成JSON类型的数据4.安全性更高，客户端支持防御XSRF
      */
    // 函数防抖触发高频事件N秒后只会执行一次，如果N秒内事件再次触发，则会重新计时
    debounce (func, wait) {
      var timeout
      return function () {
        var context = this
        var args = arguments
        clearTimeout(timeout)
        timeout = setTimeout(function () {
          func.apply(context, args)
        }, wait)
      }
    },
    throttle (func, wait) {
      var context = this
      var args = arguments
      var pervious = 0
      return function () {
        var now = new Date()
        if (now - pervious > wait) {
          func.apply(context, args)
          pervious = now
        }
      }
    },
    unique (arr) {
      var res = arr.filter(function (item, index, Array) {
        return Array.indexOf(item) === index
      })
      return res
    }
  }
}
</script>

<style scoped lang='less'></style>
